﻿namespace Framework
{
    /// <summary>
    /// 模块接口
    /// </summary>
    public interface IModule
    {
        /// <summary>
        /// 模块优先级
        /// </summary>
        int Priority { get; }
        /// <summary>
        /// 模块初始化接口
        /// </summary>
        void Init();
        /// <summary>
        /// 重置模块
        /// </summary>
        void Reset();
        /// <summary>
        /// 模块轮询接口
        /// </summary>
        /// <param name="frameTime">逻辑一帧时间</param>
        /// <param name="realTime">实际一帧时间</param>
        void Update(float frameTime, float realTime);
        /// <summary>
        /// 模块销毁时调用接口
        /// </summary>
        void Destroy();
    }
}

